//package com.mrzhou.rabbit.controller;
//
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import com.mrzhou.common.feign.client.IUserClient;
//import com.mrzhou.core.tool.api.R;
//import com.mrzhou.mybatis.base.PageQuery;
//import com.mrzhou.rabbit.entity.User;
//import com.mrzhou.rabbit.producer.EmailProducer;
//import com.mrzhou.rabbit.repository.UserRepository;
//import com.mrzhou.rabbit.service.IElasticsearchService;
//import com.mrzhou.rabbit.service.IUserService;
//import io.netty.channel.nio.NioEventLoop;
//import io.netty.channel.nio.NioEventLoopGroup;
//import io.swagger.annotations.Api;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.HashMap;
//import java.util.Map;
//import java.util.concurrent.CompletableFuture;
//
//@RestController
//@Api(tags = "测试中间件发送")
//public class SendController {
//
//    @Autowired
//    private EmailProducer emailProducer;
//    @Autowired
//    private IUserService userService;
//    @Autowired
//    private IElasticsearchService elasticsearchService;
//
//    @GetMapping("send/test")
//    public R<String> testSendMsg(@RequestParam("msg") String msg, @RequestParam(value = "index", defaultValue = "10") int index) {
//        for(int i = 0; i <= index; i++) {
//            emailProducer.send("    【Message: " + msg + "  Index: " + i + "】");
//        }
//        return R.data("发送成功");
//    }
//
//    @GetMapping("insert")
//    public Map<String, Object> insertUser(@RequestParam Integer loop, @RequestParam Integer limit) {
//        Map<String, Object> map = new HashMap<>(4);
//        map.put("code", 200);
//        map.put("msg", "获取用户列表成功");
//        map.put("data",  userService.insertVirtualUser(loop, limit));
//        return map;
//    }
//
//    @GetMapping("create-index")
//    public R<IPage<User>> createIndex() {
//        elasticsearchService.createIndex(User.class);
//        return R.success("创建成功");
//    }
//
//    @GetMapping("bulk")
//    public R<IPage<User>> bulk(@RequestParam Integer loop, @RequestParam Integer limit) {
//        userService.bulkElasticsearch(loop, limit);
//        return R.success("创建成功");
//    }
//
//    @GetMapping("query-by-name")
//    public R<IPage<User>> pageUser(String name) {
//        return R.data(userService.getElasticsearchUserByName(name, 0, 10));
//    }
//
//    @GetMapping("page-name")
//    public R<IPage<User>> page(String name, PageQuery page) {
//        return R.data(userService.pageSearchUser(name, page));
//    }
//
//    @GetMapping("highlight")
//    public R<IPage<User>> highlight(String value, PageQuery page) {
//        return R.data(userService.highlightSearchUser(value, page));
//    }
//
//}
